package com.sdy.mq.service;

import org.apache.rocketmq.client.producer.SendCallback;
import org.apache.rocketmq.client.producer.SendResult;

public interface MqProducerService {
    SendResult send(String tag, String content, Object ...args) throws Exception;

    SendResult send(String tag, byte[] content, Object ...args) throws Exception;
    
    SendResult send(String tag, String content, Integer delayLevel, Object ...args) throws Exception;

    SendResult send(String tag, byte[] content, Integer delayLevel, Object ...args) throws Exception;

    SendResult sendAsync(String tag, String content, SendCallback sendCallback, Object ...args) throws Exception;

    SendResult sendAsync(String tag, byte[] content, SendCallback sendCallback, Object ...args) throws Exception;


    SendResult tSend(String topic, String tag, String content, Object ...args) throws Exception;

    SendResult tSend(String topic, String tag, byte[] content, Object ...args) throws Exception;

    SendResult tSend(String topic, String tag, String content, Integer delayLevel, Object ...args) throws Exception;

    SendResult tSend(String topic, String tag, byte[] content, Integer delayLevel, Object ...args) throws Exception;

    SendResult tSendAsync(String topic, String tag, String content, SendCallback sendCallback, Object ...args) throws Exception;

    SendResult tSendAsync(String topic, String tag, byte[] content, SendCallback sendCallback, Object ...args) throws Exception;
}
